For packet-based communication protocols, packets communicate data and control information between devices via a communication network. Two communicating devices process the packets to transfer the data and control information between the devices. The communication network typically includes intermediate devices that transfer the packets between the two communicating devices, and the intermediate devices process the packets too.
It is difficult and time consuming to specify the packet processing performed by these devices. For example, it is difficult and time consuming to specify the required functionality of the packet processor together with timing characteristics such as throughput and latency. There is a general need to reduce the complexity of designing packet processors.
The present invention may address one or more of the above issues.